package com.sc.nft.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.sup.SuperEntity;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 生态池配置
 * @TableName sc_trading_pool_config
 */
@TableName(value = "sc_trading_pool_config")
@Data
public class TradingPoolConfig extends SuperEntity<TradingPoolConfig> implements Serializable {
    /**
     * dao 标识
     */
    @TableField(value = "dao_id")
    private Long daoId;

    /**
     * 名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 开启关闭状态
     */
    @TableField(value = "status")
    private Boolean status;

    /**
     * 藏品 id
     */
    @TableField(value = "collection_id")
    private Long collectionId;

    /**
     * 当前总金额
     */
    @TableField(value = "current_amount")
    private BigDecimal currentAmount;

    /**
     * 当前库存
     */
    @TableField(value = "current_stock")
    private Integer currentStock;

    /**
     * 当前价格
     */
    @TableField(value = "current_price")
    private BigDecimal currentPrice;

    /**
     * 今日成交量
     */
    @TableField(value = "today_volume")
    private Integer todayVolume;

    /**
     * 今日最高
     */
    @TableField(value = "today_highest")
    private BigDecimal todayHighest;

    /**
     * 今日最低
     */
    @TableField(value = "today_lowest")
    private BigDecimal todayLowest;

    /**
     * 最大涨幅百分比
     */
    @TableField(value = "max_increase_percentage")
    private BigDecimal maxIncreasePercentage;

    /**
     * 最大跌幅百分比
     */
    @TableField(value = "max_decrease_percentage")
    private BigDecimal maxDecreasePercentage;

    /**
     * 最大价格
     */
    @TableField(value = "max_price")
    private BigDecimal maxPrice;

    /**
     * 最小价格
     */
    @TableField(value = "min_price")
    private BigDecimal minPrice;

    /**
     * 销毁比例
     */
    @TableField(value = "destruction_percentage")
    private BigDecimal destructionPercentage;

    /**
     * 手续费率
     */
    @TableField(value = "fee_rate")
    private BigDecimal feeRate;

    /**
     * gas 费
     */
    @TableField(value = "gas")
    private BigDecimal gas;

    /**
     * 活动规则
     */
    @TableField(value = "activity_rule")
    private String activityRule;

    /**
     * 分润模版id
     */
    @TableField(value = "share_profit_panel_id")
    private Long shareProfitPanelId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}